import type { Meta, StoryObj } from "@storybook/react";
import { fn } from "@storybook/test";
import Loading from "./loading";
import { useState } from "react";

// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
const meta = {
  title: "components/Loading",
  component: Loading,
  parameters: {
    // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
    layout: "centered",
  },
  // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
  tags: ["autodocs"],
  // More on argTypes: https://storybook.js.org/docs/api/argtypes
  argTypes: {},
  // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
  args: {},
} satisfies Meta<typeof Loading>;

export default meta;
type Story = StoryObj<typeof meta>;

export const LoadingExample = {
  render: () => {
    const [loading, setLoading] = useState(true);
    setTimeout(() => {
      setLoading(false);
    }, 10000);
    return (
      <div style={{ minWidth: "500px", height: "300px" }}>
        <Loading
          width={100}
          height={100}
          preserveAspectRatio="xMidYMid meet"
          viewBox="0 0 50 50"
          strokeWidthOuter="3"
          strokeWidthInner="3"
          strokeOuter="#3be6cb"
          strokeInner="#02bcfe"
          dur="1.5s"
          isLoading={loading}
        >
          数据加载中....
        </Loading>
      </div>
    );
  },
};
